<HTML>

<SCRIPT>
function setFocus() {	
	if ((navigator.appName != "Netscape") && (parseFloat(navigator.appVersion) == 2)) {
	return;
	} else {
	self.focus();
	}
}
</SCRIPT><HEAD><TITLE>Index</TITLE></HEAD>

<BODY
	BGCOLOR		= #FFFFFF
	TEXT = #000000
onLoad="setFocus()";
>

<P>Names of design patterns appear in small capitals: e.g., A<FONT
SIZE=-1>DAPTER</FONT>.  Page numbers in bold indicate the definition
of a term. Numbers in italics indicate a diagram for the term.
Letters after a diagram's page number indicate the kind of diagram:
a "c" denotes a class diagram, an "i" denotes an interaction diagram,
and an "o" denotes an object diagram. For example, <I>88co</I>
means that a class and object diagram appears on page 88.</P>

<H2>O</H2>

<DL>

<DT>object
<A HREF="chap1fs.htm#top" TARGET="_mainDisplayFrame"><B>11</B></A>,
<A HREF="chapAfs.htm#top" TARGET="_mainDisplayFrame"><B>361</B></A>
</DT>

<DD>adapter, <I>see</I> <A HREF="index-A.htm#adapter" target="TEXT">adapter, object</A></DD>

<DD>acquaintance
<A HREF="chap1fs.htm#agg" TARGET="_mainDisplayFrame"><B>22</B></A>
</DD>

<DD>aggregation
<A HREF="chap1fs.htm#agg" TARGET="_mainDisplayFrame"><B>22</B></A>
</DD>

<DD>as argument to request 
<A HREF="disc5fs.htm#top" TARGET="_mainDisplayFrame">345</A>
</DD>

<DD>aspect of 
<A HREF="pat5gfs.htm#implementation" TARGET="_mainDisplayFrame"><B>298</B></A>
</DD>

<DD>avoiding dependence on implementation of
<A HREF="chap1fs.htm#subsect_causes_of_redesign" TARGET="_mainDisplayFrame">24</A>
</DD>

<DD>composition, <I>see</I> <a href="index-O.htm#object composition" target="TEXT">object composition</a></DD>

<DD>finding
<A HREF="chap1.htm#top" onClick="top.load('1');"11></A>
</DD>

<DD>granularity of <A HREF="chap1fs.htm#encapsulation" TARGET="_mainDisplayFrame">13</A>, <I>see also</I> <A HREF="index-F.htm#F<FONT SIZE=-1>LYWEIGHT</FONT>" target="TEXT">F<FONT SIZE=-1>LYWEIGHT</FONT></A></DD>

<DD>guts
<A HREF="pat4dfs.htm#implementation" TARGET="_mainDisplayFrame">179</A>
</DD>

<DD>reference
<A HREF="chapAfs.htm#objectreference" TARGET="_mainDisplayFrame"><B>361</B></A>
</DD>

<DD>shared, <I>see</I> <A HREF="index-F.htm#F<FONT SIZE=-1>LYWEIGHT</FONT>" target="TEXT">F<FONT SIZE=-1>LYWEIGHT</FONT></A></DD>

<DD>skin
<A HREF="pat4dfs.htm#implementation" TARGET="_mainDisplayFrame">179</A>
</DD>

<DD>specifying implementation of
<A HREF="chap1fs.htm#dynamicbinding" TARGET="_mainDisplayFrame">14</A>
</DD>

<DD>specifying interface to
<A HREF="chap1fs.htm#encapsulation" TARGET="_mainDisplayFrame">13</A>
</DD>

<DT><a name="object composition"></a>object composition
<A HREF="chap1fs.htm#intro_inheritance_versus_composition" TARGET="_mainDisplayFrame"><B>18</B></A>,
<A HREF="chapAfs.htm#objectcomposition" TARGET="_mainDisplayFrame"><B>361</B></A>
</DT>

<DD>compared with inheritance
<A HREF="chap1fs.htm#intro_inheritance_versus_composition" TARGET="_mainDisplayFrame">18-20</A>
</DD>

<DD>compared with parameterized types
<A HREF="chap1fs.htm#ada" TARGET="_mainDisplayFrame">22</A>
</DD>

<DD>reuse through
<A HREF="chap1fs.htm#intro_inheritance_versus_composition" TARGET="_mainDisplayFrame">19</A>
</DD>

<DT>object diagram
<A HREF="chapBfs.htm#top" TARGET="_mainDisplayFrame">364</A>,
<A HREF="chapAfs.htm#objectdiagram" TARGET="_mainDisplayFrame"><B>361</B></A>
</DT>

<DT>Objects for States, <I>see</I> <A HREF="index-S.htm#S<FONT SIZE=-1>TATE</FONT>" target="TEXT">S<FONT SIZE=-1>TATE</FONT></A></FONT></DT>

<a name="Object Modeling Technique"></a>
<DT>Object Modeling Technique
<A HREF="chap1fs.htm#structure" TARGET="_mainDisplayFrame">7</A>,
<A HREF="chap1fs.htm#dynamicbinding" TARGET="_mainDisplayFrame">14</A>,
<A HREF="chapBfs.htm#top" TARGET="_mainDisplayFrame">363</A>,
<A HREF="chapBfs.htm#top" TARGET="_mainDisplayFrame">364</A>
</DT>

<DT>Objective C
<A HREF="pat3afs.htm#implementation" TARGET="_mainDisplayFrame">90</A>,
<A HREF="pat3dfs.htm#consequences" TARGET="_mainDisplayFrame">120</A>,
<A HREF="pat3dfs.htm#implementation" TARGET="_mainDisplayFrame">121</A>,
<A HREF="disc3fs.htm#creational_discussion" TARGET="_mainDisplayFrame">135</A>,
<A HREF="pat4afs.htm#implementation" TARGET="_mainDisplayFrame">144</A>
</DT>

<DT>Objectory
<A HREF="chapBfs.htm#top" TARGET="_mainDisplayFrame">363</A>
</DT>

<a name="ObjectWindows"></a>
<DT>ObjectWindows</DT>

<DD>use of I<FONT SIZE=-1>TERATOR</FONT>
<A HREF="pat5dfs.htm#knownuses" TARGET="_mainDisplayFrame">270</A>
</DD>

<DD>use of S<FONT SIZE=-1>TRATEGY</FONT><A HREF="pat5ifs.htm#knownuses" TARGET="_mainDisplayFrame">323</A>
</DD>

<a name="ObjectWorks\SmallTalk"></a>
<DT>ObjectWorks\SmallTalk, <I>see also</I> <A HREF="index-S.htm#Smalltalk" target="TEXT">Smalltalk</A></DT>

<DD>use of A<FONT SIZE=-1>DAPTER</FONT>
<A HREF="pat4afs.htm#knownuses" TARGET="_mainDisplayFrame">148-149</A>
</DD>

<DD>use of D<FONT SIZE=-1>ECORATOR</FONT>
<A HREF="pat4dfs.htm#knownuses" TARGET="_mainDisplayFrame">182</A>
</DD>

<DD>use of F<FONT SIZE=-1>ACADE</FONT><A HREF="pat4efs.htm#knownuses" TARGET="_mainDisplayFrame">191</A>
</DD>

<DT><a name="O<FONT SIZE=-1>BSERVER</FONT>"></a>O<FONT SIZE=-1>BSERVER</FONT>
<A HREF="pat5gfs.htm#Observer" TARGET="_mainDisplayFrame"><B>293</B></A>
</DT>

<DD>combined with M<FONT SIZE=-1>EDIATOR</FONT>
<A HREF="pat5efs.htm#implementation" TARGET="_mainDisplayFrame">278</A>,
<A HREF="pat5efs.htm#knownuses" TARGET="_mainDisplayFrame">282</A>
</DD>

<DD>compared with C<FONT SIZE=-1>HAIN OF</FONT>
	R<FONT SIZE=-1>ESPONSIBILITY</FONT>
<A HREF="disc5fs.htm#top" TARGET="_mainDisplayFrame">346</A>,
<A HREF="disc5fs.htm#top" TARGET="_mainDisplayFrame">348</A>
</DD>

<DD>compared with M<FONT SIZE=-1>EDIATOR</FONT>
<A HREF="disc5fs.htm#top" TARGET="_mainDisplayFrame">346</A>,
<A HREF="disc5fs.htm#top" TARGET="_mainDisplayFrame">348</A>
</DD>

<DD>in Model/View/Controller
<A HREF="chap1fs.htm#top" TARGET="_mainDisplayFrame">5</A>
</DD>

<DD>in catalog summary
<A HREF="chap1fs.htm#cat-memen" TARGET="_mainDisplayFrame">8</A>
</DD>

<DD>limiting unexpected updates in
<A HREF="pat5gfs.htm#consequences" TARGET="_mainDisplayFrame">296</A>
</DD>

<DT>Observer
<A HREF="pat5gfs.htm#media-w-obsrv" TARGET="_mainDisplayFrame">300</A>
</DT>

<DD>combining with Subject
<A HREF="pat5gfs.htm#media-w-obsrv" TARGET="_mainDisplayFrame">300</A>
</DD>

<DD>participant of O<FONT SIZE=-1>BSERVER</FONT>
<A HREF="pat5gfs.htm#structure" TARGET="_mainDisplayFrame"><I>294c</I></A>,
<A HREF="pat5gfs.htm#participants" TARGET="_mainDisplayFrame">295</A>,
<A HREF="pat5gfs.htm#collaborations" TARGET="_mainDisplayFrame"><I>295i</I></A>,
<A HREF="pat5gfs.htm#samplecode" TARGET="_mainDisplayFrame"><I>300c</I></A>,
<A HREF="disc5fs.htm#top" TARGET="_mainDisplayFrame"><I>347i</I></A>
</DD>

<DT>OMT, <I>see</I> <A HREF="index-O.htm#Object Modeling Technique" target="TEXT">Object Modeling Technique</A></DT>

<DT><a name="operation "></a>operation 
<A HREF="chap1fs.htm#top" TARGET="_mainDisplayFrame"><B>11</B></A>, 
<A HREF="chapAfs.htm#operation" TARGET="_mainDisplayFrame"><B>361</B></A>
</DT>

<DD>abstract 
<A HREF="chap1fs.htm#abstractoper" TARGET="_mainDisplayFrame"><B>15</B></A>, 
<A HREF="chapAfs.htm#abstractoperation" TARGET="_mainDisplayFrame">359</A>
</DD>

<DD>adding to classes 
<A HREF="pat5kfs.htm#consequences" TARGET="_mainDisplayFrame">335</A>
</DD>

<DD>avoiding dependence on specific 
<A HREF="chap1fs.htm#oper-avoid-depend" TARGET="_mainDisplayFrame">24</A>
</DD>

<DD>class, <I>see</I> <A HREF="index-C.htm#class operation" target="TEXT">class operation</A></DD>

<DD>concrete 
<A HREF="pat5jfs.htm#oper-concrete" TARGET="_mainDisplayFrame">327</A>
</DD>

<DD>dispatch, <I>see</I> <a href="index-D.htm#dispatch" target="TEXT">dispatch</a></DD>

<DD>hook, <I>see</I> <a href="index-H.htm#hook operation" target="TEXT">hook operation</a></DD>

<DD>overriding 
<A HREF="chap1fs.htm#oper-override" TARGET="_mainDisplayFrame"><B>16</B></A>
</DD>

<DD>primitive 
<A HREF="pat5jfs.htm#oper-primitive1" TARGET="_mainDisplayFrame"><B>327</B></A>, 
<A HREF="pat5jfs.htm#oper-primitive2" TARGET="_mainDisplayFrame">329</A>
</DD>

<DT>Orbix</DT>

<DD>use of F<FONT SIZE=-1>ACTORY</FONT> M<FONT SIZE=-1>ETHOD</FONT> 
<A HREF="pat3cfs.htm#orbix-use-factmeth" TARGET="_mainDisplayFrame">116</A>
</DD>

<DT>Originator</DT>

<DD>participant of M<FONT SIZE=-1>EMENTO</FONT> 
<A HREF="pat5ffs.htm#participants" TARGET="_mainDisplayFrame">285</A>,
<A HREF="pat5ffs.htm#orig-285c" TARGET="_mainDisplayFrame"><I>285c</I></A>,
<A HREF="pat5ffs.htm#orig-286i" TARGET="_mainDisplayFrame"><I>286i</I></A>
</DD>

<DT>originator 
<A HREF="pat5ffs.htm#orig-def" TARGET="_mainDisplayFrame"><B>284</B></A>
</DT>

<DT>overloading</DT>

<DD>used to implement P<FONT SIZE=-1>ROXY</FONT> 
<A HREF="pat4gfs.htm#implementation" TARGET="_mainDisplayFrame">211</A>
</DD>

<DD>used to implement V<FONT SIZE=-1>ISITOR</FONT> 
<A HREF="chap2fs.htm#footnote10" TARGET="_mainDisplayFrame">72</A>, 
<A HREF="pat5kfs.htm#footnote10" TARGET="_mainDisplayFrame">337</A>
</DD>

</DL>

